// +FHDR------------------------------------------------------------
//                 Copyright (c) 2024 NOVAUTO.
//                       ALL RIGHTS RESERVED
// -----------------------------------------------------------------
// Filename      : async_nbit_delay.v
// Author        : ICer
// Created On    : 2024-03-14 13:50
// Last Modified : 2024-03-14 14:02 by ICer
// -----------------------------------------------------------------
// Description:
//
//
// -FHDR------------------------------------------------------------


module async_nbit_delay #(
  parameter DL = 2,
  parameter WD = 1,
  parameter FF = 1
)( /*AUTOARG*/
   // Outputs
   o_data,
   // Inputs
   i_clk, i_rst_n, i_data, o_clk, o_rst_n
   );

// ----------------------------------------------------------------
// Interface declare
// ----------------------------------------------------------------
input          i_clk;
input          i_rst_n;
input [WD -1:0]i_data;

input          o_clk;
input          o_rst_n;
output[WD -1:0]o_data;

genvar i;
generate
  for(i=0; i<WD; i=i+1)begin: INST_1BIT
    async_1bit_delay u_1bit_delay(
      .i_clk  (i_clk),
      .i_rst_n(i_rst_n),
      .i_data (i_data[i]),
      .o_clk  (o_clk),
      .o_rst_n(o_rst_n),
      .o_data (o_data[i])
    );
  end
endgenerate

endmodule
// Local Variables:
// verilog-auto-inst-param-value:t
// verilog-library-directories:(".")
// verilog-library-extensions:(".v")
// End:

